package com.ticorp.salmofood.service.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.ticorp.framework.service.BapiExecutionService;
import com.ticorp.salmofood.model.BeanDetalleContrato;
import com.ticorp.salmofood.model.BeanDetalleContratoResultado;
import com.ticorp.salmofood.model.BeanGenerico;
import com.ticorp.salmofood.model.BeanLotesFacturados;
import com.ticorp.salmofood.model.BeanLotesFacturadosResultado;
import com.ticorp.salmofood.model.BeanLotesNoFacturados;
import com.ticorp.salmofood.model.BeanLotesNoFacturadosResultado;
import com.ticorp.salmofood.service.BusquedasLotesService;

public class BusquedasLotesServiceImpl implements BusquedasLotesService {

    // BAPI EXECUTION SERVICE
    private BapiExecutionService bapiExecutionService;

    public BapiExecutionService getBapiExecutionService() {
	return bapiExecutionService;
    }

    public void setBapiExecutionService(BapiExecutionService bapiExecutionService) {
	this.bapiExecutionService = bapiExecutionService;
    }

    // LISTA DE CLIENTES (PARA COMBO)
    public List getListaClientes() {
	Map importMap = new HashMap();
	List listaClientes = new ArrayList();

	/*
	 * Map bapiResult =
	 * bapiExecutionService.execute(Constantes.BAPI_LISTA_CLIENTES,
	 * importMap,false); BapiReturnBean brbTmp = new
	 * BapiReturnBean(bapiResult); List datosClientes =
	 * (List)bapiResult.get(Constantes.MAP_RETORNO_LISTA_CLIENTES);
	 * 
	 * if(CollectionUtils.isNotEmpty(datosClientes)){ for(int
	 * i=0;i<datosClientes.size();i++){ BeanGenerico beanGenerico = new
	 * BeanGenerico(); Map datoCliente = (Map)datosClientes.get(i);
	 * beanGenerico
	 * .setCodigo(Util.convierteObjetoAstring(datoCliente.get(Constantes
	 * .CODIGO_LISTA_CLIENTES)));
	 * beanGenerico.setDescripcion(Util.convierteObjetoAstring
	 * (datoCliente.get(Constantes.DESCRIPCION_LISTA_CLIENTES)));
	 * listaClientes.add(beanGenerico); } }
	 */

	// solo para ejemplo (luego borrar)
	BeanGenerico beanGenericox = new BeanGenerico();
	beanGenericox.setCodigo("todos");
	beanGenericox.setDescripcion("Todos");
	listaClientes.add(beanGenericox);

	// ejemplo
	for (int i = 0; i < 10; i++) {
	    BeanGenerico beanGenerico = new BeanGenerico();
	    beanGenerico.setCodigo("00" + i);
	    beanGenerico.setDescripcion("Juanito: " + i);
	    listaClientes.add(beanGenerico);
	}

	// bapiResult = null;
	return listaClientes;
    }

    // LISTA DE PAISES (PARA COMBO)
    public List getListaPaises() {
	Map importMap = new HashMap();
	List listaPaises = new ArrayList();

	/*
	 * Map bapiResult =
	 * bapiExecutionService.execute(Constantes.BAPI_LISTA_CLIENTES,
	 * importMap,false); BapiReturnBean brbTmp = new
	 * BapiReturnBean(bapiResult); List datosClientes =
	 * (List)bapiResult.get(Constantes.MAP_RETORNO_LISTA_CLIENTES);
	 * 
	 * if(CollectionUtils.isNotEmpty(datosClientes)){ for(int
	 * i=0;i<datosClientes.size();i++){ BeanGenerico beanGenerico = new
	 * BeanGenerico(); Map datoCliente = (Map)datosClientes.get(i);
	 * beanGenerico
	 * .setCodigo(Util.convierteObjetoAstring(datoCliente.get(Constantes
	 * .CODIGO_LISTA_CLIENTES)));
	 * beanGenerico.setDescripcion(Util.convierteObjetoAstring
	 * (datoCliente.get(Constantes.DESCRIPCION_LISTA_CLIENTES)));
	 * listaClientes.add(beanGenerico); } }
	 */

	// solo para ejemplo (luego borrar)
	BeanGenerico beanGenericox = new BeanGenerico();
	beanGenericox.setCodigo("todos");
	beanGenericox.setDescripcion("Todos");
	listaPaises.add(beanGenericox);

	// ejemplo
	for (int i = 0; i < 10; i++) {
	    BeanGenerico beanGenerico = new BeanGenerico();
	    beanGenerico.setCodigo("00" + i);
	    beanGenerico.setDescripcion("Pais: " + i);
	    listaPaises.add(beanGenerico);
	}

	// bapiResult = null;
	return listaPaises;
    }

    // LISTA DE REGIONES (PARA COMBO)
    public List getListaRegiones() {
	Map importMap = new HashMap();
	List listaRegiones = new ArrayList();

	/*
	 * Map bapiResult =
	 * bapiExecutionService.execute(Constantes.BAPI_LISTA_CLIENTES,
	 * importMap,false); BapiReturnBean brbTmp = new
	 * BapiReturnBean(bapiResult); List datosClientes =
	 * (List)bapiResult.get(Constantes.MAP_RETORNO_LISTA_CLIENTES);
	 * 
	 * if(CollectionUtils.isNotEmpty(datosClientes)){ for(int
	 * i=0;i<datosClientes.size();i++){ BeanGenerico beanGenerico = new
	 * BeanGenerico(); Map datoCliente = (Map)datosClientes.get(i);
	 * beanGenerico
	 * .setCodigo(Util.convierteObjetoAstring(datoCliente.get(Constantes
	 * .CODIGO_LISTA_CLIENTES)));
	 * beanGenerico.setDescripcion(Util.convierteObjetoAstring
	 * (datoCliente.get(Constantes.DESCRIPCION_LISTA_CLIENTES)));
	 * listaClientes.add(beanGenerico); } }
	 */

	// solo para ejemplo (luego borrar)
	BeanGenerico beanGenericox = new BeanGenerico();
	beanGenericox.setCodigo("todos");
	beanGenericox.setDescripcion("Todos");
	listaRegiones.add(beanGenericox);

	// ejemplo
	for (int i = 0; i < 10; i++) {
	    BeanGenerico beanGenerico = new BeanGenerico();
	    beanGenerico.setCodigo("00" + i);
	    beanGenerico.setDescripcion("Region: " + i);
	    listaRegiones.add(beanGenerico);
	}

	// bapiResult = null;
	return listaRegiones;
    }

    // GRILLA LOTES FACTURADOS
    public List listaLotesFacturados(BeanLotesFacturados beanLotesFacturados) {

	Map importMap = new HashMap();
	BeanLotesFacturadosResultado beanLotesFacturadosResultado = null;
	List listaLotesFacturados = new ArrayList();

	// obtenerImportMapConsultaEntregas(consultaEntregas, importMap);

	// Map bapiResult =
	// bapiExecutionService.execute(Constantes.BAPI_LISTA_LOTES_FACTURADOS,
	// importMap,false);

	// BapiReturnBean brbTmp = new BapiReturnBean(bapiResult);

	// List datosLotesFacturados =
	// (List)bapiResult.get(Constantes.MAP_RETORNO_LISTA_LOTES_FACTURADOS);
	List datosLotesFacturados = new ArrayList();
	/* if(CollectionUtils.isNotEmpty(datosLotesFacturados)){ */

	/* for(int i=0;i<datosLotesFacturados.size();i++){ */
	for (int i = 0; i < 20; i++) {
	    beanLotesFacturadosResultado = new BeanLotesFacturadosResultado();
	    // Map datoResultado = (Map)datosLotesFacturados.get(i);

	    /*
	     * beanLotesFacturadosResultado.setDato1(Util.convierteObjetoAstring(
	     * datoResultado.get(Constantes.DATO1)));
	     * beanLotesFacturadosResultado
	     * .setDato2(Util.convierteObjetoAstring(
	     * datoResultado.get(Constantes.DATO2)));
	     * beanLotesFacturadosResultado
	     * .setDato3(Util.convierteObjetoAstring(
	     * datoResultado.get(Constantes.DATO3)));
	     */

	    beanLotesFacturadosResultado.setDato1("datoo1" + i);
	    beanLotesFacturadosResultado.setDato2("datoo2" + i);
	    beanLotesFacturadosResultado.setDato3("datoo3" + i);
	    beanLotesFacturadosResultado.setDato4("datoo4" + i);
	    beanLotesFacturadosResultado.setDato5("datoo5" + i);
	    beanLotesFacturadosResultado.setDato6("datoo6" + i);
	    beanLotesFacturadosResultado.setDato7("datoo7" + i);
	    beanLotesFacturadosResultado.setDato8("datoo8" + i);

	    listaLotesFacturados.add(beanLotesFacturadosResultado);
	}
	/* } */
	// bapiResult = null;
	// datosEntregas = null;

	return listaLotesFacturados;

    }

    /********************** LOTES NO FACTURADOS ***********************/
    // GRILLA LOTES FACTURADOS
    public List listaLotesNoFacturados(BeanLotesNoFacturados beanLotesNoFacturados) {

	Map importMap = new HashMap();
	BeanLotesNoFacturadosResultado beanLotesNoFacturadosResultado = null;
	List listaLotesNoFacturados = new ArrayList();

	// obtenerImportMapConsultaEntregas(consultaEntregas, importMap);

	// Map bapiResult =
	// bapiExecutionService.execute(Constantes.BAPI_LISTA_LOTES_FACTURADOS,
	// importMap,false);

	// BapiReturnBean brbTmp = new BapiReturnBean(bapiResult);

	// List datosLotesFacturados =
	// (List)bapiResult.get(Constantes.MAP_RETORNO_LISTA_LOTES_FACTURADOS);
	List datosLotesNoFacturados = new ArrayList();
	/* if(CollectionUtils.isNotEmpty(datosLotesFacturados)){ */

	/* for(int i=0;i<datosLotesFacturados.size();i++){ */
	for (int i = 0; i < 20; i++) {
	    beanLotesNoFacturadosResultado = new BeanLotesNoFacturadosResultado();
	    // Map datoResultado = (Map)datosLotesFacturados.get(i);

	    /*
	     * beanLotesFacturadosResultado.setDato1(Util.convierteObjetoAstring(
	     * datoResultado.get(Constantes.DATO1)));
	     * beanLotesFacturadosResultado
	     * .setDato2(Util.convierteObjetoAstring(
	     * datoResultado.get(Constantes.DATO2)));
	     * beanLotesFacturadosResultado
	     * .setDato3(Util.convierteObjetoAstring(
	     * datoResultado.get(Constantes.DATO3)));
	     */

	    beanLotesNoFacturadosResultado.setDato1("datoo1" + i);
	    beanLotesNoFacturadosResultado.setDato2("datoo2" + i);
	    beanLotesNoFacturadosResultado.setDato3("datoo3" + i);
	    beanLotesNoFacturadosResultado.setDato4("datoo4" + i);
	    beanLotesNoFacturadosResultado.setDato5("datoo5" + i);
	    beanLotesNoFacturadosResultado.setDato6("datoo6" + i);
	    beanLotesNoFacturadosResultado.setDato7("datoo7" + i);
	    beanLotesNoFacturadosResultado.setDato8("datoo8" + i);

	    listaLotesNoFacturados.add(beanLotesNoFacturadosResultado);
	}
	/* } */
	// bapiResult = null;
	// datosEntregas = null;

	return listaLotesNoFacturados;

    }

    /********************** DETALLE DE CONTRATO ***********************/
    // GRILLA LOTES FACTURADOS
    public List listaDetalleContrato(BeanDetalleContrato beanDetalleContrato) {

	Map importMap = new HashMap();
	BeanDetalleContratoResultado beanDetalleContratoResultado = null;
	List listaDetalleContrato = new ArrayList();

	// obtenerImportMapConsultaEntregas(consultaEntregas, importMap);

	// Map bapiResult =
	// bapiExecutionService.execute(Constantes.BAPI_LISTA_LOTES_FACTURADOS,
	// importMap,false);

	// BapiReturnBean brbTmp = new BapiReturnBean(bapiResult);

	// List datosLotesFacturados =
	// (List)bapiResult.get(Constantes.MAP_RETORNO_LISTA_LOTES_FACTURADOS);
	List datosDetalleContrato = new ArrayList();
	/* if(CollectionUtils.isNotEmpty(datosLotesFacturados)){ */

	/* for(int i=0;i<datosLotesFacturados.size();i++){ */
	for (int i = 0; i < 20; i++) {
	    beanDetalleContratoResultado = new BeanDetalleContratoResultado();
	    // Map datoResultado = (Map)datosLotesFacturados.get(i);

	    /*
	     * beanLotesFacturadosResultado.setDato1(Util.convierteObjetoAstring(
	     * datoResultado.get(Constantes.DATO1)));
	     * beanLotesFacturadosResultado
	     * .setDato2(Util.convierteObjetoAstring(
	     * datoResultado.get(Constantes.DATO2)));
	     * beanLotesFacturadosResultado
	     * .setDato3(Util.convierteObjetoAstring(
	     * datoResultado.get(Constantes.DATO3)));
	     */

	    beanDetalleContratoResultado.setDato1("datoo1" + i);
	    beanDetalleContratoResultado.setDato2("datoo2" + i);
	    beanDetalleContratoResultado.setDato3("datoo3" + i);
	    beanDetalleContratoResultado.setDato4("datoo4" + i);
	    beanDetalleContratoResultado.setDato5("datoo5" + i);
	    beanDetalleContratoResultado.setDato6("datoo6" + i);
	    beanDetalleContratoResultado.setDato7("datoo7" + i);
	    beanDetalleContratoResultado.setDato8("datoo8" + i);

	    listaDetalleContrato.add(beanDetalleContratoResultado);
	}
	/* } */
	// bapiResult = null;
	// datosEntregas = null;

	return listaDetalleContrato;

    }

}
